<template>
  <div class="outer">
    <h1>App</h1>
    <List ref="listComp" />
  </div>
</template>

<script>
import _ from 'lodash'

import List from "./components/List";

export default {
  name: "App",
  components: {
    List,
  },
  data() {
    return {
      list: [],
    };
  },
  mounted() {
    console.log(this);
    // 使用 组件实例上 .$on 给某个组件绑定自定义事件
    // （给组件设置一个ref属性，则获取的是当前被设置的组件实例）
    this.$refs.listComp.$on('atguigu',this.getListData)
  },
  methods: {
    getListData(list) {
      console.log(list);
      // // 浅拷贝
      // this.list = [...list];

      // 如果数据比较复杂，需要对数据进行深拷贝
      this.list = _.cloneDeep(list)
      // 判断是否为深拷贝
      console.log(this.list[0] === list[0]);
    },
  },
};
</script>

<style>
.outer {
  height: 400px;
  background: greenyellow;
}
</style>